"""
演示数据容器集合set的使用
"""

# 定义集合
my_set = {'传智教育', '黑马程序员', 'itheima', '传智教育', '黑马程序员', 'itheima'}
my_set_empty = set()  # 定义空集合

print(f"my_set的内容是：{my_set}，类型是{type(my_set)}")
print(f"my_set_empty的内容是：{my_set_empty}，类型是{type(my_set_empty)}")

# 添加新元素
my_set.add("刘涛")
print(f"添加新元素后的集合为：{my_set}")

# 移除元素
my_set.remove("刘涛")
print(f"移除刘涛元素后的集合为：{my_set}")

# 随机取出一个元素
result = my_set.pop()
print(result)

# 清空集合
my_set.clear()
print(my_set)

# 取2个集合的差集(取出集合1和集合2的差异，集合1有而集合2没有，得到一个新的集合)
my_set = {'传智教育', '黑马程序员', 'itheima', '传智教育', '黑马程序员', 'itheima'}
my_set2 = {' '}
my_set3 = my_set.difference(my_set2)
print(my_set3)

# 消除俩个集合的差集(在集合1内，删除和集合2相同的元素，集合1被修改，集合2不变)
my_set = {'传智教育', '黑马程序员', 'itheima', '传智教育', '黑马程序员', 'itheima'}
my_set2 = {'黑马程序员'}
my_set.difference_update(my_set2)
print(my_set)

# 2个集合合并为1个集合(将集合1和集合2 合并为一个新集合，对集合1与集合2不变)
my_set = {'传智教育', '黑马程序员', 'itheima', '传智教育', '黑马程序员', 'itheima'}
my_set2 = {'刘涛'}
my_set3 = my_set.union(my_set2)
print(my_set3)

# 统计集合的元素数量
my_set = {'传智教育', '黑马程序员', 'itheima', '传智教育', '黑马程序员', 'itheima'}
num = len(my_set)
print(num)

# 集合的遍历
# 集合不支持下标索引，所以不能用下标索引，可以用for
my_set = {'传智教育', '黑马程序员', 'itheima', '传智教育', '黑马程序员', 'itheima'}
for i in my_set:
    print(i)
